<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>compilestr</title>
    <link rel="stylesheet" type="text/css" href="csound.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="home" href="index.html" title="The Canonical Csound Reference Manual" />
    <link rel="up" href="OpcodesTop.html" title="Orchestra Opcodes and Operators" />
    <link rel="prev" href="compileorc.html" title="compileorc" />
    <link rel="next" href="connect.html" title="connect" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">compilestr</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="compileorc.html">Prev</a> </td>
          <th width="60%" align="center">Orchestra Opcodes and Operators</th>
          <td width="20%" align="right"> <a accesskey="n" href="connect.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="refentry">
      <a id="compilestr"></a>
      <div class="titlepage"></div>
      <a id="Indexcompilestr" class="indexterm"></a>
      <div class="refnamediv">
        <h2>
          <span class="refentrytitle">compilestr</span>
        </h2>
        <p>compilestr — 
      compiles a new orchestra passed in as an ASCII string
    </p>
      </div>
      <div class="refsect1">
        <a id="idp95231648"></a>
        <h2>Description</h2>
        <p>
      Compilestr will compile one or more instruments at init time, which will be added to the running engine. In case of
existing instrument numbers or names, these will be replaced, but any instance still running of the old instrument
definition will still perform until it terminates. Only new instances will use the new definition.
Multi-line strings are accepted, using {{  }} to enclose the string.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp69140384"></a>
        <h2>Syntax</h2>
        <pre class="synopsis">ires <span class="command"><strong>compilestr</strong></span> Sorch</pre>
      </div>
      <div class="refsect1">
        <a id="idp69142592"></a>
        <h2>Initialization</h2>
        <p>
      <span class="emphasis"><em><span class="quote">“<span class="quote">Sorch</span>”</span></em></span> --  a string (in double-quotes or enclosed by {{ }}) containing one or more instruments.
</p>
        <p>
      <span class="emphasis"><em><span class="quote">“<span class="quote">ires</span>”</span></em></span> --  returns 0 if compilation was successful, or -1 if not.
</p>
      </div>
      <div class="refsect1">
        <a id="idp69145360"></a>
        <h2>Examples</h2>
        <p>
      Here is an example of the compilestr opcode. It uses the file <a class="ulink" href="examples/compilestr.csd" target="_top"><em class="citetitle">compilestr.csd</em></a>.
      </p>
        <div class="example">
          <a id="idp69147136"></a>
          <p class="title">
            <strong>Example 132. Example of the compilestr opcode.</strong>
          </p>
          <div class="example-contents">
            <p>See the sections <a class="link" href="UsingRealTime.html" title="Real-Time Audio"><em class="citetitle">Real-time Audio</em></a> and <a class="link" href="CommandFlags.html" title="Csound command line"><em class="citetitle">Command Line Flags</em></a> for more information on using command line flags.</p>
            <pre class="programlisting">
<span class="csdtag">&lt;CsoundSynthesizer&gt;</span>
<span class="csdtag">&lt;CsOptions&gt;</span>
-o dac -d
<span class="csdtag">&lt;/CsOptions&gt;</span>
<span class="csdtag">&lt;CsInstruments&gt;</span>
<span class="ohdr">sr</span> <span class="op">=</span> 44100
<span class="ohdr">nchnls</span> <span class="op">=</span> 1
<span class="ohdr">ksmps</span> <span class="op">=</span> 32
<span class="ohdr">0dbfs</span> <span class="op">=</span> 1

<span class="oblock">instr</span> 1

 <span class="comment">;will fail because of wrong code</span>
ires <span class="opc">compilestr</span> {{
<span class="oblock">instr</span> 2 
a1 oscilb p4, p5, 0
<span class="opc">out</span> a1 
<span class="oblock">endin</span> 
}}
<span class="opc">print</span> ires <span class="comment">; returns -1 because not successfull</span>

 <span class="comment">;will compile ...</span>
ires <span class="opc">compilestr</span> {{
<span class="oblock">instr</span> 2 
a1 <span class="opc">oscils</span> p4, p5, 0
<span class="opc">out</span> a1 
<span class="oblock">endin</span> 
}}
<span class="opc">print</span> ires <span class="comment">; ... and returns 0</span>

 <span class="comment">;call the new instrument</span>
 <span class="comment">;(note that the overall performance is extended)</span>
<span class="opc">scoreline_i</span> "i 2 0 3 .2 415"

<span class="oblock">endin</span>

<span class="csdtag">&lt;/CsInstruments&gt;</span>
<span class="csdtag">&lt;CsScore&gt;</span>
<span class="stamnt">i</span>1 0 1
<span class="csdtag">&lt;/CsScore&gt;</span>
<span class="csdtag">&lt;/CsoundSynthesizer&gt;</span>
</pre>
          </div>
        </div>
        <p><br class="example-break" />
    </p>
      </div>
      <div class="refsect1">
        <a id="idp69151296"></a>
        <h2>See also</h2>
        <p>
      <a class="link" href="event.html" title="event"><em class="citetitle">event</em></a>,
      <a class="link" href="event_i.html" title="event_i"><em class="citetitle">event_i</em></a>,
      <a class="link" href="schedule.html" title="schedule"><em class="citetitle">schedule</em></a>,
      <a class="link" href="schedwhen.html" title="schedwhen"><em class="citetitle">schedwhen</em></a>,
      <a class="link" href="schedkwhen.html" title="schedkwhen"><em class="citetitle">schedkwhen</em></a>,
      <a class="link" href="schedkwhennamed.html" title="schedkwhennamed"><em class="citetitle">schedkwhennamed</em></a>
    </p>
      </div>
      <div class="refsect1">
        <a id="idp95400656"></a>
        <h2>Credits</h2>
        <p>Author: Victor Lazzarini, 2013 </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="compileorc.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="OpcodesTop.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="connect.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">compileorc </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> connect</td>
        </tr>
      </table>
    </div>
  </body>
</html>
